1. Field of the Invention
The present invention relates generally to testing in Java based environments, and more particularly to a method of transferring data between applications in a distributed testing system.
2. Description of the Related Art
As the use of software in performing daily tasks rapidly increases, assessing software reliability through software testing has become an imperative stage in the software development cycle. As is well known, software testing is used to find and eliminate defects (i.e., bugs) in software, which, if undetected, can cause the software to operate improperly. One method for performing testing in a Java environment is via a test harness. By way of background, Java is an interpreted language that utilizes a Java Virtual Machine (JVM) as an interpreter. The JVM is a software layer that converts Java intermediate language (byte code) into machine language.
Essentially, the test harness is a tool executed on a computer system that manages a set of tests. The tests can be conducted on a single computer system and can also be distributed across multiple computer systems. The purpose of distributing tests across multiple computer systems is because multiple computer systems execute tests faster than a single computer system. In order to distribute the tests across multiple computer systems, the tests are broken into test components for distribution across multiple computer systems. As a result, the test components are typically interrelated because they are pieces from one set of tests.
In the prior art distributed testing system, a main server testing system manages the test components distributed across multiple computer systems. The computer systems execute the test components and generate resulting test data in memories of the computer systems. The resulting data in the memories of the computer systems are then saved as files and the files are transferred to the main server testing system for processing and analysis. Since the tests are typically interrelated, the computer systems need to access the resulting test data from other computer systems during execution in order to continue execution of their own tests.
A difficulty with the prior art distributed testing system is that the computer systems can share saved files but not data stored in the memories of the computer systems. As a result, the computer systems must save the resulting test data as files in order to share the resulting test data. The computer systems often need to access the resulting test data from other computer systems during execution in order to continue their own tests because the tests are related. However, during execution, the resulting test data are constantly changing and are constantly being updated. As a result, the computer systems need to constantly save the resulting test data every time the resulting test data are updated in their memories. Additionally, the saved resulting test data need to be constantly transferred to the main server testing system for processing. The added step of saving the resulting test data as files during execution and processing the files creates extra processing steps that significantly slow down the execution of the tests.
Another limitation is that the computer systems cannot share data that cannot be saved as files. For example, in order to establish a secured connection between the computer systems, identification keys need to be shared between the computer systems. Since the identification keys cannot be saved as a file, the prior art distributed testing system cannot establish a secured connection between the computer systems.
In view of the foregoing, there is a need for testing methods and systems that provide for the transfer of data held in memory of a computer system to another computer system in a distributed testing system.